Information processing real-time systems such as, for example, control units in modern motor vehicles, have a plurality of connected sensors and actuators, which are controlled by a microcontroller. For this purpose the microcontroller continuously executes a variety of procedures one after the other in succession. If, however, during the execution of a program there is an external event that requires the immediate execution of another procedure, then the current processing has to be interrupted. This feature is made possible in the case of a microcontroller by so-called interrupts. The interrupt triggers the interrupt of the current procedure and starts processing the external event in another procedure, upon the completion of which the previously interrupted procedure continues.
In systems with real-time requirements, however, the interrupt of critical program sections presents a problem. In order to comply with the time requirements, the interrupts of the current microcontrollers can be enabled or disabled by a configuration register. Before processing a critical program section, the interrupts are disabled by writing to the configuration register. After leaving the critical program section, the interrupts are re-enabled. If a function is called in a critical program section and this function in turn includes a critical program section, then the result is a nested disabling/enabling of interrupts. Studies in the automotive industry have shown that the frequent and nested calling of functions for disabling and enabling of interrupts gives rise to an overhead of up to 15% in the total amount of control software.